Many modern computer systems utilize one or more cathode-ray tube terminals which are able to display the results of computations and other information under computer control. Accordingly, circuitry is normally provided either in the terminal or in the associated computer to generate, in response to digital signals generated by the computer, the appropriate television signals required to produce alpha/numeric characters on the CRT screen. This circuitry is generally capable of providing a standard, fixed set of characters, including letters, numbers and a selected set of standard symbols, such as punctuation marks.
Often, however, it is desired to display information which cannot be conveyed with the standard alpha and numeric character set. Such information is usually termed "graphics" information and may consist of dots, bars or lines and may be useful in drawing graphs, non-standard characters, and maps or in video games. In addition, various portions on the screen may be illuminated in different colors. In order to display graphics information it is necessary to be able to generate video information in a small area at any location on the CRT screen specified by the computer.
Most computer systems with graphics capability contain what is known as a "memory-mapped" graphics system. In this type of system, a large graphics random access memory is provided in which each display position on the video screen corresponds directly to a particular address in memory. Accordingly, the computer displays information on the CRT screen by simply writing digital information into one or more addresses to display spots at corresponding locations on the screen.
Memory-mapped systems operate satisfactorily if they are built into the original computer system when it is fabricated. However, in many present day operations, the user of a computer system initially wishes to buy a small, basic system and then expand the capabilities of the system as the user's needs expand. Typically, the basic system includes at least one video terminal with alpha and numeric character generation circuitry but does not include graphics circuitry.
With a small system of this type it has been found that it is extremely difficult to add memory-mapped graphics circuitry on to the pre-existing computer circuitry without physically and electrically disassembling the computer and placing many jumpers on internal data lines. The time and expense required to physically rewire the unit often makes the addition of graphics capabilities of such basic computers impractical.
In addition, memory-mapped arrangements have other problems. For example, they inherently require a large number of components. Further the electrical address of each graphics memory location does not correspond directly with the physical X and Y coordinates of the display locations on the video screen. Therefore, additional software programs must be included to translate between physical X and Y addresses which are of interest to the computer user and actual internal memory addresses. Another problem is that the memory-mapped arrangement is always active in that it must respond to access attempts to a graphics memory address. Accordingly, the arrangement is vulnerable to software errors which cause an accidental write operation to a location in graphics memory, thereby destroying graphics data.
In order to obviate some of these problems several prior art schemes have been designed. In one such scheme, the graphics memory is addressed directly by the computer via the peripheral address bus. Unfortunately, in most practical graphics schemes, the graphics memory is large, often on the order of 32 K or more. Such a memory requires at least fifteen address lines in order to address each memory location and many small computers do not have more than eight address lines easily available. Thus, additional address lines must be either obtained within the unit by jumpering as with the previous scheme or by complicated address generation circuitry.
Still other prior schemes have used a graphics memory and circuitry which operates asynchronously from the computer. The resulting graphics signal is combined with the normal video character signals by means of a video mixer. Two circuitry components are linked together by the video synchronization circuitry. This arrangement also requires complicated and expensive circuitry and in many circumstances an insufficient number of address leads are physically available on the computer in order to fully implement graphics capability.
It is therefore an object of the present invention to provide graphics generation circuitry which can be retrofitted to computer display systems having existing character generation circuitry.
It is a further object of the present invention to provide graphics generation circuitry which is capable of providing full graphics capability without requiring expensive or complex circuitry and with a minimum of interface lines.
It is still another object of the present invention to provide graphics generation circuitry which can easily and inexpensively be attached to existing video character generation circuitry in a small computer system.
It is yet a further object of the invention to provide graphics generation circuitry which does not require an additional software program to translate between physical X and Y locations on the video screen and internal graphics memory addresses.